package com.atguigu.bigdata.scala.chapter06

object Scala09_Object_Instance_3 {
    def main(args: Array[String]): Unit = {

        // TODO 面向对象编程 - 构建方法 - 构造方法

        // 构造子类对象时，应该先完成父类对象的构造，所以父类的构造方法应该先执行完毕，完成初始化
        // 如果父类的构造方法有参数，那么子类在构造时，应该显示地给父类传参
        val user = new User("zhangsan")

        // 使用构造方法传递参数的目的，一般用于给类的属性赋值，将外部的值传递给类的属性
        // scala语言可以在声明构造方法时，直接使用var，val声明参数,等同于声明了相同名称的属性
        user.name

    }
    class Person( name:String ) {
        println("person...")
        println(name)
    }
    class User(var name:String) extends Person(name) {
        println("user...")
    }
}